简书链接:原创androidstudio的iml构建smali大工程调试环境。
文章字数:578,阅读全文大约需要2分钟
通过导入smali文件夹发现一个文件夹都看不到,怎么办呢?需要修改iml才能做到了。

首先是修改.ida里面的modules.xml

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/qqsmali.iml" filepath="$PROJECT_DIR$/qqsmali.iml" />
</modules>
</component>
</project>

也就是根目录的qqsmali.iml
然后打开项目根目录的qqsmail.iml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id=":qssq666project" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
<exclude-output />
<content url="file://$MODULE_DIR$/smalicode">
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/smalicode/smali" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/smalicode/smali_classes2" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/smalicode/smali_classes3" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/smalicode/smali_classes4" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/smalicode/smali_classes5" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/smalicode/smali_classes6" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/smalicode/smali_classes7" isTestSource="false" />
</content>
<orderEntry type="jdk" jdkName="Android API 26 Platform (1)" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

其中 <content url="file://$MODULE_DIR$/>代表指向根目录不过不推荐这么做,不然的话会导致建立索引太久,所以首先是填写一个子文件夹,我的做法是把smali放到一个文件夹,然后把它作为内容文件夹,然后关闭项目重新打开这时候就可以浏览这个文件夹了,然后选择一个smali文件夹右击作为->

方法
最后实现的效果如下
大工程

image.png

另外.idea 里面的workspace.xml可以删除, 删除会重新建立, gradle.xml如果没创建是没有的, misc.xml 也没啥用,一般都是修改某模块 iml,或者gradle.xml
modules.xml